package cn.wp.ewallet.wallet.service;

import cn.wp.common.core.model.WpPage;
import cn.wp.ewallet.wallet.model.dto.ExchangeMoneyInfoDto;
import cn.wp.ewallet.wallet.model.dto.MentionMoneyInfoDto;
import cn.wp.ewallet.wallet.model.dto.ReqOrderInfoDto;

/**
 * 申请单-业务逻辑层
 * Created by zhangyongli on 2020/01/09
 */
public interface ReqOrderInfoService {

    /**
     * 查询全部申请单
     * @return
     */
    WpPage<ReqOrderInfoDto> getAllReqOrder(WpPage page);

    /**
     * 查询待处理申请单
     * @return
     */
    WpPage<ReqOrderInfoDto> getPendingReqOrder(WpPage page);

    /**
     * 查询单个兑换申请单
     * @param orderId
     * @return
     */
    ExchangeMoneyInfoDto getExchangeMoneyReqOrderById(String orderId);

    /**
     * 查询单个提币申请单
     * @param orderId
     * @return
     */
    MentionMoneyInfoDto getMentionMoneyReqOrderById(String orderId);

    /**
     * 查询兑换交易记录
     * @return
     */
    WpPage<ExchangeMoneyInfoDto> getExchangeMoneyReqOrderByaddress(WpPage page);

    /**
     * 查询提币交易记录
     * @return
     */
    WpPage<MentionMoneyInfoDto> getMentionMoneyReqOrderByAddress(WpPage page);

    /**
     * 按币种查询提币记录
     * @param moneyType
     * @param page
     * @return
     */
    WpPage<MentionMoneyInfoDto> getMentionMoneyReqOrderByMoneyType(String startTime,String endTime,String moneyType, WpPage page);

    /**
     * 通过开始时间 结束时间 请求类型 查询申请单状态
     * @param startTime
     * @param endTime
     * @param reqType
     * @param wpPage
     * @return
     */
    WpPage<ReqOrderInfoDto> getReqOrderInfoDtosByParams(String startTime,String endTime,String reqType,WpPage wpPage);

}